package com.platform.server.dao;

import java.util.List;
import java.util.Map;

import com.platform.server.entity.TopicComment;
import com.platform.server.entity.User;
import com.platform.server.entity.VideoComment;

public interface TopicDao {
	
	/**
	 * 参与话题
	 */
	int joinTopic(String topicid,String userid);
	
	/**
	 * 话题点赞
	 */
	int topicLike(String topicid,String userid);
	//查看是否已经点赞
	int selectIsLike(String topicid,String userid);
	
	/**
	 * 热门话题列表
	 */
	List<Map<String,Object>> hotTopicList();
	
	/**
	 * 话题详情
	 */
	List<Map<String,Object>> selectTopicInfo(Integer topicid);
	//查看用户是否参与了话题
	int selectUserJoin(String topicid,String userid);
	//查看用户是否点赞了该话题动态
	int selectUserLike(String topicid,String userid);
	
	/**
	 * 发表话题评论
	 */
	int insertTopicComment(String topicid,String userid,String content);
	
	/**
	 * 发表话题动态评论
	 */
	int insertCommentPrimary(TopicComment topicComment);   
	//查看某一条评论是否是父评论(参数是话题动态评论表id)
	TopicComment selectParentComment(Integer id);
	//评论或回复成功之后添加消息表记录
	int insertCommentRecord(Map<String,Object> map);
	
	/**
	 * 查看话题评论消息列表
	 */
	List<Map<String,Object>> topicCommentAdvice(String userid);
	//查看视频评论或回复消息
	List<Map<String,Object>> videoCommentAdvice(String userid);
	
	/**
	 * 获取话题的推荐用户
	 */
	List<Map<String,Object>> selectTopicRecommendUser();
	
	/**
	 * 评论详情
	 */
	//查看话题动态详情
	Map<String,Object> selectTopicdyInfo(Integer topicid);
	List<TopicComment> selectCommentInfo(String topicid);
	//查看话题评论中的父评论
	TopicComment queryParentList(Integer commentid);
	//查看用户信息
	User selectSenderInfo(Integer userid);
	
	/**
	 * 退出话题
	 */
	int exitTopic(String topicid,String userid); 
	
	/**
	 * 个人资料详情
	 */
	Map<String,Object> selectDatumDetails(Integer detailsUserid);
	//查看两个用户之间有没有预约过服务
	int isAppointment(String detailsUserid,String userid);
	int isAppointment2(String detailsUserid,String userid);
	/**
	 * 删除话题评论
	 */
	int deleteTopicComment(Integer id);
	//删除话题动态
	int deleteTopicDynamic(Integer id);
}
